package com.xiang._02.single;

/**
 * 枚举的特殊用法:
 *      利用枚举来实现单例模式
 *      利用枚举来实现策略模式
 */
public class Enum2SingleMain {
    public static void main(String[] args) {

        /**
         * 为什么可以这样做？
         *      枚举类不能 new ，因此保证单例
         *      枚举类不能被继承
         *      类不加载时，不会实例化
         *
         *  《Effect in java》一书中，推荐我们使用这种方式来实现单例
         */
        SingleEnum.INSTANCE.print("hello world");

    }
}
